/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.tmd.controlefinanceiro.bean;

import br.com.tmd.controlefinanceiro.modelo.Despesa;
import br.com.tmd.controlefinanceiro.persistence.DespesaDao;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author luis
 */
@ManagedBean(name = "despesaBean")
@RequestScoped
public class DespesaBean {
    
    private Despesa despesa = new Despesa();
     private List<Despesa> listaDespesa;
    
    //Foi criado essa variavel para ao selecionarmos uma despesa armazena o id dela para
    //gravarmos no banco posteriormente.
    private Integer despesaId;
  
    public DespesaBean() {
    }

    public Integer getDespesaId() {
        return despesaId;
    }

    public void setDespesaId(Integer despesaId) {
        this.despesaId = despesaId;
    }
    
    public Despesa getDespesa() {
        return despesa;
    }

    public void setDespesa(Despesa despesa) {
        this.despesa = despesa;
    }
    //Utilizado para carregar o combo box tambem
    public List<Despesa> getListaDespesa() {
        DespesaDao dao = new DespesaDao();
        listaDespesa = dao.listaDespesas();
        return listaDespesa;
    }

    public void setListaDespesa(List<Despesa> listaDespesa) {
        this.listaDespesa = listaDespesa;
    }
    
    public String salvar(){
        
        FacesContext context = FacesContext.getCurrentInstance();
        DespesaDao dao = new DespesaDao();
        dao.salvar(despesa);
        
        FacesMessage facesMessage = new FacesMessage("Despesa criada com sucesso");
        context.addMessage(null, facesMessage);
        this.despesa = new Despesa();
        
        //return "contas?faces-redirect=true";
        return null;
    }
    
    public String formPrincipal() {
        return "principal?faces-redirect=true";
    }
    
    public String consultaDespesas() {
        return "consultaDespesas?faces-redirect=true";
    }
    
    public String novo() {
       
        return "despesas?faces-redirect=true";
    }
    
}
